import { omitBy } from 'lodash-es';
/**
 * 拼接url 方法
 * 删除value 为空的 参数
 * @param {*} url
 * @param {*} params
 */
export function query(
	url: string,
	params: {
		[key: string]: any;
	}
) {
	if (!params) return url;
	const p = omitBy(params, (v) => !v && v !== 0 && v !== false);
	let queryString = '';
	for (const key in p) {
		if (p[key] instanceof Array) {
			queryString = queryString ? `${queryString}&${key}=${p[key].join(',')}` : `${key}=${p[key].join(',')}`;
		} else {
			let value;
			if (/\W+/.test(p[key])) {
				value = encodeURIComponent(p[key]);
			} else {
				value = p[key];
			}
			queryString = queryString ? `${queryString}&${key}=${value}` : `${key}=${value}`;
		}
	}
	return queryString ? `${url}?${queryString}` : url;
}
